﻿<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Readme.aspx.cs" Inherits="Admin_Readme" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
<h2>PermissionBase整合过程中经验总结</h2>
    <li>登录提示用户禁用可能是因为flag_use值用法反了。</li>
    <li>遇到插入不进去的时候</li>
        &nbsp;
        <div style="margin-left: 40px;">
            1、检查PB_SEQUENCE表有没有，table name对不对<br />
            2、检查表结构是不是有不能为空的字段，但是程序中没有赋值<br />
            3、检查NHibernate的xml文件
        </div>
    <li>组织机构下面没有人多半是因为system_employee表的organ_code字段没有填值。</li>
    <li>授权如果出问题，是因为system_action里面没有放进去权限定义，出了null。</li>
    <li>新增程序定义失败，可能是bh字段过长造成的，考虑加长bh这个字段</li>
    <li>程序菜单不显示</li>
        &nbsp;
        <div style="margin-left: 40px;">
            可能是数据问题，视图中有对cxlb取值的过滤，取foot或bar，否则取不出来module type<br />
        </div>
    <li>程序菜单第一次登录显示，再刷新就不显示</li>
        &nbsp;
        <div style="margin-left: 40px;">
            这个问题是disabled字段取值反向造成的，如果仅仅在getter中用Math.abs(value-1)反向，就造成这个问题，不知原因。<br />
        </div>
    <li>如果出库没有记录，看看是不是out_num不是0而是NULL，再就是仓库管理员分配是不是有问题</li>
    <li>不能访问iis元数据库C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i</li>
    <li>多窗体业务模式中，对页面进行样式修时，要注意GridView1_DataBinding、GridView1_RowDataBound这两个事件，他是对已选中和未选中的进行处理。</li>
    <li>对数据库中进行数据插入时，默认的flag_delete＝0；原因是，如客户数据表（dms_info_buddy），若flag_delete不等于0，会不显示该行记录</li>
     <li>组织机构显示不正常通常是parent_id不正确造成的，到底是NULL还是""还是“00”</li>
    <li>系统找不到指定的文件。 (异常来自 HRESULT:0x80070002): 这个问题是改了代码但编译通不过，有错，但是没发觉，就直接运行了，选生成网站编译一下把错改了就行了</li>
    <li>未能加载文件或程序集“System.EnterpriseServices.Wrapper.dll”或它的某一个依赖项。系统找不到指定的文件</li>
        &nbsp;
        <div style="margin-left: 40px;">
            把"C:WINDOWS\Microsoft.NET\Frameworkv2.0.50727"文件夹下面的"System.EnterpriseServices.Wrapper.dll"复制到"c:WINDOWS\WinSxS \x86_System.EnterpriseServices_b03f5f7f11d50a3a_2.0.0.0_x-ww_7d5f3790" 文件夹下<br />
            <br />在不行就重装dotnet framework
        </div>
<h2>业务问题总结</h2>
    <li>出库待办等等列表出不来，冲抵的数量不变等：需要检查是否有字段默认值不是0，结果数据库里面字段只全是NULL</li>
    
<h2>事务用法教训</h2>
    <li>用trasaction事务处理时候不要用datareader，如果datareader返回多行，必然报错</li>
    
<h2>问题解决办法经验</h2>
    <li>命名都正确，非说找不到类：到被引用的类定义里面把namespace定义试着改改，再改回来，强迫重新编译，就好了</li>
    <li>在其他工程中修改了代码，但是web中的类没有认出来修改</li>
    &nbsp;
        <div style="margin-left: 40px;">
            把web\bin目录里面相应工程的dll删除（你看看会发现这个dll日期不对，已经很老了），刷新web工程，然后在web中重新添加那个工程的引用<br />
        </div>
    <li>明明写的都对，非说Unknown entity class。解决办法：在vs.net里右击User.hbm.xml-〉属性-〉生成操作-〉嵌入资源 </li>
    <li>插入记录不成功，提示二进制数据截断。最发发现是uuid变为36位以后，加上原来的业务前缀，总长41位，超长了。 </li>
    <li>树上什么都显示不出来：根节点的parent_code值有问题，查查是不是00</li>
    <li>授权页面出错，可能是数据字典里面没有加入rights字典项</li>

<h2>框架修改履历</h2>
    <h3>2009-08合并到标准表结构</h3>
        <li>增加视图vi_system_module_type，把parentid改为parent_id，foo改为foot</li>
        <li>system_cxdy表数据添加parent，添加url</li>
        <li>增加表system_role_type</li>
        <li>增加了全部demo开头的表，用于支持示例程序</li>
        <li>增加了vi_dms_data_dict_type视图</li>
        <li>增加表system_sequence / system_actions</li>
        <li>comp_code添加不能为空，system_code不能为空</li>
        <li>添加vi_system_role_type,但改造不完全roletypesrv里面</li>
        <li>添加带emp_code的人员组织机构关系视图:vi_sys_emp_org_rela</li>
        <li>添加带organ_code的人员视图:vi_system_employee_organ</li>
        <li>把公告和工作写实的表和视图都过来，这两个模块作为框架一部分</li>
        <li>把存储过程news_GetPagedNews、news_GetSearchResult复制过来，用于公告</li>
        <li>sequence表里面需要添加一个dms_emp_base的记录</li>
        <li>system_user_qx表和system_role_menu的id字段长度不够，扩展为40</li>
        
<h2>发布网站问题集</h2>
        <li>如果提示H:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files不可写，就需要给这个目录添加浏览器用户的可写权限。</li>
        <li>system_role_menu里面id字段如果用uuid不够长，要么改40，要么用sequence</li>
</body>
</html>
解决办法
